package com.simple.common.entity;

import com.simple.common.entity.po.sys.AppExample;
import com.simple.common.entity.po.sys.Application;
import com.simple.common.entity.po.sys.Merchant;
import lombok.Data;

import java.io.Serializable;

/**
 * 这个类是一个上下文对象，
 * @author yasud
 * @date 2020年09月29日 10:06
 * @description
 */
@Data
public class ReqContext implements Serializable {

    /**
     * 当前商户
     */
    private Merchant merchant;

    /**
     * 当前app
     */
    private Application app;

    /**
     * 当前实例
     */
    private AppExample example;

    public ReqContext() {
    }

    public ReqContext(Merchant merchant, Application app, AppExample example) {
        this.merchant = merchant;
        this.app = app;
        this.example = example;
    }

    /**
     * 给一个方便的方法
     * @param merchant
     * @param app
     * @param example
     * @return
     */
    public static ReqContext build(Merchant merchant,
                                   Application app,
                                   AppExample example) {
        return new ReqContext(merchant, app, example);
    }
}
